
這篇了解一下,標題中的 truthy & falsy 。
MDN 上,對於 Falsy 的解釋為:
A falsy (sometimes written falsey) value is a value that is considered false when encountered in a Boolean context.
也就是 JavaScript 中需要用到布林值的上下文中,類型轉換後被定義為 false 的值。
為自動轉型的緣故,下面的情況會被轉型為 false,即與 false 等價。
if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (NaN)
if ('')
if ("")
if (document.all)
以上的虛值 falsy 都會被轉成 false。
In JavaScript, a truthy value is a value that is considered true when encountered in a Boolean context.
那 Truthy 有哪些?不是 Falsy 的全都歸類到 Truthy,因此只要知道哪些是 Falsy 就好。
看到這邊我們就知道:
truthy、falsy和隱含轉型的true、false是不一樣的東西。
或是可以從下表中的綠點看出哪個是真值(Truthy):

文末總結一下:
falsy:在需要用到 Boolean 類型的時候,表現為false 的都是 falsy。truthy:在需要用到 Boolean 類型的時候,表現為 true 的都是 truthy。